package Utilidades;

import ManagedBeans.*;
import SessionBeans.*;
import javax.faces.context.FacesContext;

/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */
/**
 *
 * @author javi
 */
public class Utilidades {

    //PEDIDOS - ESTADOS
    public static String estadoToString(int idEstado) {
        String idEstadoTexto = "";

        switch (idEstado) {
            case 0:
                idEstadoTexto = "Pendiente";
                break;
            case 1:
                idEstadoTexto = "Nuevo";
                break;
            case 2:
                idEstadoTexto = "En preparación";
                break;
            case 3:
                idEstadoTexto = "Listo para enviar";
                break;
            case 4:
                idEstadoTexto = "De camino";
                break;
            case 5:
                idEstadoTexto = "Entrega en tres semanas";
                break;
        }

        return idEstadoTexto;

    }

    public static int estadoToInt(String sEstado) {
        int iEstado = 0;

        if (sEstado.equalsIgnoreCase("Pediente")) {
            iEstado = 0;
        } else if (sEstado.equalsIgnoreCase("Nuevo")) {
            iEstado = 1;
        } else if (sEstado.equalsIgnoreCase("En preparación")) {
            iEstado = 2;
        } else if (sEstado.equalsIgnoreCase("Listo para enviar")) {
            iEstado = 3;
        } else if (sEstado.equalsIgnoreCase("De camino")) {
            iEstado = 4;
        } else if (sEstado.equalsIgnoreCase("Entrega en tres semanas")) {
            iEstado = 5;
        }

        return iEstado;

    }

    //PEDIDOS - FORMA PAGO
    public static String formapToString(int idFormap) {

        String idformaPTexto = "";

        switch (idFormap) {
            case 0:
                idformaPTexto = "Pago contra reembolso";
                break;
            case 1:
                idformaPTexto = "Pago con tarjeta";
                break;
        }

        return idformaPTexto;
    }

    public static int formapToInt(String sFormap) {

        int idformaP = 0;

        if (sFormap.equalsIgnoreCase("Pago contra reembolso")) {
            idformaP = 0;
        } else if (sFormap.equalsIgnoreCase("Pago con tarjeta")) {
            idformaP = 1;
        }

        return idformaP;
    }

    public static String stockCero(int stock) {

        String idformaPTexto = "";

        if (stock == 0) {
            idformaPTexto = "No disponible";
        } else {
            idformaPTexto = String.valueOf(stock);
        }

        return idformaPTexto;
    }
    
    public static AdministradorDAO getAdministradorDAO() {
        mbLoginAdmin mbLoginAdmin = (mbLoginAdmin)Utilidades.getMB("mbLoginAdmin");
        return mbLoginAdmin.getAdministradorDAO();
    }
    
    public static CarritoDAO getCarritoDAO() {
        mbListProd mbListProd = (mbListProd)Utilidades.getMB("mbListProd");
        return mbListProd.getCarritoDAO();
    }
    
    public static CategoriasDAO getCategoriasDAO() {
        mbCategoriasAdmin mbCategoriasAdmin = (mbCategoriasAdmin)Utilidades.getMB("mbCategoriasAdmin");
        return mbCategoriasAdmin.getCategoriasDAO();
    }
    
    public static ClientesDAO getClientesDAO() {
        mbRegistrarUsuario mbRegistrarUsuario = (mbRegistrarUsuario)Utilidades.getMB("mbRegistrarUsuario");
        return mbRegistrarUsuario.getClientesDAO();
    }
    
    public static PedidosDAO getPedidosDAO() {
        mbListPedido mbListPedido = (mbListPedido)Utilidades.getMB("mbListPedido");
        return mbListPedido.getPedidosDAO();
    }
    
    public static ProductosDAO getProductosDAO() {
        mbProductosAdmin mbProductosAdmin = (mbProductosAdmin)Utilidades.getMB("mbProductosAdmin");
        return mbProductosAdmin.getProductosDAO();
    }
    
    public static RelacionesDAO getRelacionesDAO() {
        mbListProd mbListProd = (mbListProd)Utilidades.getMB("mbListProd");
        return mbListProd.getRelacionesDAO();
    }

    private static <T> T getMB(String beanName) {
        FacesContext context = FacesContext.getCurrentInstance();
        return (T) context.getApplication().evaluateExpressionGet(context, "#{" + beanName + "}", Object.class);
    }
}
